export default {
  plugins: ['stylelint-less'],
  extends: [
    'stylelint-config-standard-vue',
    'stylelint-config-standard',
    'stylelint-config-recess-order',
  ],
  overrides: [
    {
      files: ['**/*.vue'], // 只处理 Vue 文件中的 HTML
      customSyntax: 'postcss-html',
    },
    {
      files: ['**/*.less'],
      customSyntax: 'postcss-less',
    },
  ],
  yaml: false,
  typescript: true,
  ignoreFiles: [
    '**/*.js', 
    '**/*.jsx', 
    '**/*.tsx', 
    '**/*.ts', 
    '**/*.json', 
    '**/*.md', 
    '**/*.yaml',
    'index.html', // 明确排除根目录的 index.html
    'public/**/*.html' // 排除 public 目录下的 HTML 文件
  ],
  rules: {
    // 'indentation': [2, {
    //   baseIndentLevel: 1,
    // }],
    'no-empty-source': null, // 关闭禁止空源码
    // 'no-missing-end-of-source-newline': null,
    // 'declaration-block-no-duplicate-properties': true,
    // 'no-invalid-double-slash-comments': null,
    // 不要使用已被 autoprefixer 支持的浏览器前缀
    // 'media-feature-name-no-vendor-prefix': true,
    // 'at-rule-no-vendor-prefix': true,
    // 'selector-no-vendor-prefix': true,
    // 'property-no-vendor-prefix': true,
    'no-descending-specificity': null,
    'selector-class-pattern': null, // 不限制class类名格式
    'value-no-vendor-prefix': null, // 不限制类似于display: -webkit-box;
    // 'block-opening-brace-space-before': 'always', // { 前面必须要有空格
    // 'declaration-colon-space-after': 'always', // :后必须有空格
    // 'declaration-colon-space-before': 'never', // :前不能有空格
    // 'declaration-block-semicolon-space-before': 'never', // ; 前不允许空格
    // 'declaration-block-trailing-semicolon': 'always', //  每个属性声明末尾都要加分号
    'import-notation': 'string', // 必须，使用@import url("")引入样式文件scss无法使用高级用法，https://stylelint.io/user-guide/rules/import-notation/
    'selector-pseudo-element-no-unknown': [true, {
      ignorePseudoElements: ['v-deep'], // 此规则会禁用未知的伪元素选择器，ignorePseudoElements用来配置该校验规则忽略的为元素选择器 http://stylelint.docschina.org/user-guide/rules/selector-pseudo-element-no-unknown/
    }],
    'font-family-no-missing-generic-family-keyword': null,
    'selector-pseudo-class-no-unknown': [
      true,
      {
        ignorePseudoClasses: ['deep', 'global', 'slotted'], // 添加 Vue 3 伪类支持
      },
    ],
    'selector-pseudo-element-no-unknown': [true, {
      ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted'],
    }],
  },
  ignores: [
    '*.sh',
    '**/fixtures', // 忽略特定路径下的文件（如 fixtures 目录）
    'node_modules',
    '*.md',
    '*.woff',
    '*.ttf',
    '*.iudea',
    '*/public',
    '.husky',
    '.local',
    '/bin',
    '.d.ts',
  ],
}
